void main() {
  List<String> foods = ['西兰花炒蛋', '隆江猪脚饭', '普宁肠粉', '清远鸡'];

  Map<String, String> dog = {'name': '哈士奇', 'age': '2'};

  // 可以推断出来，写死的不匹配会报错
  // Future<bool>(() {
  //   return '么么哒';
  // });

  func(10);
  func('998');

  var res = new AxiosResponse<num>();
  // res.
}

// 泛型函数
// 泛型参数 T
// 返回值类型 T
// 参数类型 T
// 直接返回参数本身
T func<T>(T p) {
  return p;
}

// 泛型类 msg，code 固定类型 ，result 动态设置
class AxiosResponse<T> {
  String? msg;
  String? code;
  T? result;
}


// <T> 泛型
// 作用：动态设置类型，让代码更加灵活
// 比如可以结合类型，动态设置响应的数据格式
// 是什么，怎么用，用在哪--》坑